package com.example.smartpark.dto;

import lombok.Data;

import javax.validation.constraints.Max;
import javax.validation.constraints.Min;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Pattern;
import java.time.LocalTime;

/**
 * 系统配置数据传输对象
 */
@Data
public class SystemConfigDTO {

    /**
     * 配置ID
     */
    private Integer id;

    /**
     * 系统名称
     */
    @NotBlank(message = "系统名称不能为空")
    private String systemName;

    /**
     * 平台联系电话
     */
    @NotBlank(message = "平台联系电话不能为空")
    @Pattern(regexp = "^\\d{11}$", message = "联系电话格式不正确")
    private String contactPhone;

    /**
     * 开放时间
     */
    private LocalTime openTime;

    /**
     * 关闭时间
     */
    private LocalTime closeTime;

    /**
     * 车牌自动识别时间（秒）
     */
    @Min(value = 1, message = "车牌自动识别时间不能小于1秒")
    @Max(value = 10, message = "车牌自动识别时间不能大于10秒")
    private Integer recognitionTime;

    /**
     * 预约有效时间（分钟）
     */
    @Min(value = 5, message = "预约有效时间不能小于5分钟")
    @Max(value = 60, message = "预约有效时间不能大于60分钟")
    private Integer reservationValidTime;

    /**
     * 系统默认密码
     */
    @NotBlank(message = "系统默认密码不能为空")
    private String defaultPassword;
} 